---
title: 初始化
hide_title: true
sidebar_position: 3
---

<Tabs
groupId="sdks-language"
values={[
{ label: 'Android', value: 'andorid', },
{ label: 'iOS', value: 'ios', },
{ label: 'JavaScript', value: 'js', }
]
}>
<TabItem value="andorid">

SDK 采用单例模式，全局仅需初始化一次。

#### 示例代码

```java
JetIM.getInstance().init(this, "appkey");
```

</TabItem>
<TabItem value="ios">

SDK 采用单例模式，全局仅需初始化一次。

#### 示例代码

```objc
[JIM.shared initWithAppKey:@"appkey"];
```

</TabItem>
<TabItem value="js">

Web SDK 采用单例模式，全局只需初始化一次，SDK 提供方法、枚举值等均在实例对象中


#### 参数说明

| 参数       | 类型    | 必填 | 默认值    |        说明                            | 最低版本     |
|-----------|---------|-------|-----------|----------------------------------------|----------|
| appkey    | String  | 是    | 无        | 应用唯一标识，创建应用获取，每个 appkey 之间数据隔离，多端共用一个 appkey | 1.0.0    |
| nav       | String  | 否    |            | 导航地址 | 1.0.0    |
| isSync    | Boolean | 否    | false     | 连接成功后是否同步离线时收到的消息，每个会话最多同步 100 条 | 1.0.0    |
| upload    | Object  | 否    |           | 上传组件，目前仅支持七牛文件存储，详见初始化代码示例 | 1.0.0    |

#### 示例代码

```js
// 通过模块加载或 CDN 引入 qiniu 均可
import qiniu from 'qiniu';

let jetim = JetIM.init({
  appkey: 'xkshaldpa',
	upload: qiniu
});

```
</TabItem>
</Tabs>